<?php

/*
	TF2 Gather Bot v0.11.0
	Módulo para PHP-IRC v2.2.1 (www.phpbots.org)
	Creado por Foxtreme (danig.fox@gmail.com)
	para #gather.es @ Quakenet.org
	
	Archivo: ./modules/gather/gather.php
*/

class Gather {
	
	// Núcleo del módulo
	var $core;

	// Gather actual
	var $current;
	
	// Jugadores de gather
	var $max_players;
	var $players;
	var $medics;
	
	function __construct($object){
		$this->core = $object;
		
		$this->max_players = $this->core->config->players;
  
	}

	public function _add($nick, $medic = FALSE) {
		return;
	}
	
	public function _del($nick) {
		return;
	}
	
	// Devuelve la cantidad de slots libres en el gather
	public function _get_free_slots($type = 'normal') {
		if ($type == 'normal') {
			if ($this->_get_mode() == ('MEDICS' || 'MEDPICK')) {
				$free_slots = ($this->max_players - $this->players - 2);
			}
			else {
				$free_slots = ($this->max_players - $this->players);
			}
		}
		if ($type == 'medic') {
			$free_slots = (2 - $this->medics);
		}
		return $free_slots;
	
	}
	
	// Devuelve la lista de mapas
	public function _get_maplist() {
		return "to do";
	}
	
	// Devuelve el modo de hacer equipos especificado en la config
	public function _get_mode() {
		
		// Actualmente solo está implementado el modo 3
		return "MEDICS";
		
		// Este código es ignorado por ahora
	
		switch ($this->config->mode) {
			case 1: // Random (medicos al azar)
				return "FULL_RANDOM";
			break;
			case 2: // Random + !med (si no hay 2 medicos se escogen al azar)
				return "MED_RANDOM";
			break;
			case 3: // Medics (se necesitan 2 medicos para jugar)
				return "MEDICS";
			break;
			case 4: // Pick (2 capitanes hacen los equipos)
				return "PICK";
			break;
			case 5: // MedPick (2 medicos eligen equipos)
				return "MEDPICK";
			break;
			case 6: // Manual (cada jugador elige equipo)
				return "MANUAL";
			break;
		}
	}
	
	// Comprueba si un jugador está adeado
	public function _player_is_added($nick) {
		return FALSE;
	}
	
	// Actualiza el nick de un usuario cuando se lo cambia
	public function _update_nick($auth, $old_nick, $new_nick) {
		return;
	}
	
	// Registra votos de mapas
	public function _votemap($nick, $map) {
		return;
	}
	
}

?>